package com.atguigu.gmall.product.service.impl;

import com.atguigu.gmall.model.product.BaseTrademark;
import com.atguigu.gmall.product.mapper.BaseTrademarkMapper;
import com.atguigu.gmall.product.service.BaseTrademarkService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 由于 BaseTrademarkService 继承了 IService 接口，所以有了新的抽象方法
 * 这些新的抽象方法，继承 ServiceImpl(com.baomidou.mybatisplus) 来实现。
 * 我们不用自己去实现，因为自己实现的话，要全部实现 IService 接口的方法，我们用不到这么多方法。
 */
@Service
public class BaseTrademarkServiceImpl extends ServiceImpl<BaseTrademarkMapper, BaseTrademark>
                                      implements BaseTrademarkService {
    @Autowired
    private BaseTrademarkMapper baseTrademarkMapper;

    @Override
    public IPage<BaseTrademark> getBaseTrademarkPage(Page<BaseTrademark> pageParam) {
        QueryWrapper<BaseTrademark> wrapper = new QueryWrapper<>();
        // 设置一个查询之后的排序规则即可。因为品牌不需要查询，是直接显示数据。
        wrapper.orderByDesc("id");
        //wrapper.orderByAsc("id");
        // 知识点：msql默认是Asc

        IPage<BaseTrademark> baseTrademarkIPage = baseTrademarkMapper.selectPage(pageParam, wrapper);

        return baseTrademarkIPage;
    }

    @Override
    public List<BaseTrademark> getTrademarkList() {
        return baseTrademarkMapper.selectList(null);
    }
}
